Subject: DLSw Version 0.13, Chapter 5, State Machine (3 of 3)

From: "Alan K. Bartky, Manager of Technology" <[email-masked]>
Date: Mon, 3 Oct 94 15:35:41 PDT

----------
X-Sun-Data-Type: text
X-Sun-Data-Description: text
X-Sun-Data-Name: text
X-Sun-Content-Lines: 1
X-Sun-Content-Length: 64

Here is the third and last part of Chapter 5 DLSw version 0.13

----------
X-Sun-Data-Type: default
X-Sun-Data-Description: default
X-Sun-Data-Name: d5c.txt
X-Sun-Content-Lines: 624
X-Sun-Content-Length: 30088



RFC XXXX      DLSw: Switch-to-Switch Protocol              August 1994

   the local DLC), or a HALT_DL message received from the other Data Link
   Switch (e.g., a DISC command received by the remote DLC).

   A SABME command (i.e., a DLC_RESET signal) received by either Data Link
   Switch will also cause the two Data Link Switches to leave the CONNECTED
   state and eventually restart a new circuit.

   An ICANREACH_cs received after the transition to CONNECTED state
   indicates that more than one CANUREACH_cs was sent at circuit
   establishment time and the target station was found by more than one
   Data Link Switch partner.  A HALT_DL_NOACK is sent to halt the data link
   started by the Data Link Switch partner that originated this
   ICANREACH_cs.

     Note:  Some implementations will also send a Test command in order to
     restart the data link to the station that sent the SABME command
     (i.e., a DLC_START_DL will be issued).

   Following the receipt of a reset signal, the Data Link Switch will send
   a RESTART_DL message to the other Data Link Switch and will enter the
   CIRCUIT_RESTART state.  Upon the receipt of the RESTART_DL message, the
   remote Data Link Switch will send a DISC command (i.e., DLC_HALT_DL
   signal) and enter the RESTART_PENDING state.

5.2.9. CIRCUIT_RESTART State

   +----------------------+---------------------+----------------------+
   |        Event         |      Action(s)      |      Next State      |
   +----------------------+---------------------+----------------------+
   | Receive DL_RESTARTED | If Connected:       | If Connected:        |
   |                      |  Send CONTACT       |  CONNECT_PENDING,    |
   |                      |                     | else:                |
   |                      |                     |  CIRCUIT_ESTABLISHED |
   +----------------------+---------------------+----------------------+
   | Receive HALT_DL_NOACK| DLC_HALT_DL         | HALT_PENDING_NOACK   |
   +----------------------+---------------------+----------------------+
   | Receive DGRMFRAME    | DLC_DGRM            |                      |
   +----------------------+---------------------+----------------------+
   | DLC_ERROR            | Send HALT_DL        | DISCONNECT_PENDING   |
   +----------------------+---------------------+----------------------+
   | DLC_DGRM             | Send DGRMFRAME      |                      |
   +----------------------+---------------------+----------------------+
   | XPORT_FAILURE        | DLC_HALT_DL         | HALT_PENDING_NOACK   |
   +----------------------+---------------------+----------------------+

   The CIRCUIT_RESTART state is entered if a DLC_RESET signal is received
   from the local DLC.  This was caused by the receipt of a SABME command
   while a connection was currently active.  A DM response will be issued
   to the SABME command and the Data Link Switch will attempt to restart
   the end-to- end circuit.

   The CIRCUIT_RESTART state is exited through one of two transitions.  The
   next state depends upon the time the local DLC has reached the contacted
   state (i.e., a DLC_CONTACTED signal is presented) relative to the

AIW DLSw Related Interest Group                              [Page 39]


RFC XXXX      DLSw: Switch-to-Switch Protocol              August 1994

   receipt of the DL_RESTARTED message.  This signal is caused by the
   origin station resending the SABME command that initially caused the
   DATA Link Switch to enter the CIRCUIT_RESTART state.  The two cases are
   as follows:

          1) DL_RESTARTED message received before the DLC_CONTACTED signal-
          In this case, the CIRCUIT_ESTABLISHED state is entered.

          2) DL_RESTARTED message received after the DLC_CONTACTED signal-
          In this case, the CONNECT_PENDING state is entered.

5.2.10. DISCONNECT_PENDING State

   +----------------------+---------------------+----------------------+
   |        Event         |      Action(s)      |      Next State      |
   +----------------------+---------------------+----------------------+
   | Receive DL_HALTED    |                     | DISCONNECTED         |
   +----------------------+---------------------+----------------------+
   | Receive HALT_DL      | Send DL_HALTED      |                      |
   +----------------------+---------------------+----------------------+
   | Receive HALT_DL_NOACK|                     | DISCONNECTED         |
   +----------------------+---------------------+----------------------+
   | Receive DATAFRAME    | DLC_DGRM            |                      |
   +----------------------+---------------------+----------------------+
   | DLC_DGRM             | Send DATAFRAME      |                      |
   +----------------------+---------------------+----------------------+
   | XPORT_FAILURE        |                     | DISCONNECTED         |
   +----------------------+---------------------+----------------------+

   The DISCONNECT_PENDING state is entered when a DLC_ERROR signal is
   received from the local DLC.  Upon receipt of this signal, a HALT_DL
   message is sent.  Once an DL_HALTED message is received, the state is
   exited, and the Data Link Switch enters the DISCONNECTED state.

5.2.11. RESTART_PENDING State

   +----------------------+---------------------+----------------------+
   |        Event         |      Action(s)      |      Next State      |
   +----------------------+---------------------+----------------------+
   | Receive HALT_DL_NOACK|                     | HALT_PENDING_NOACK   |
   +----------------------+---------------------+----------------------+
   | Receive DGRMFRAME    | DLC_DGRM            |                      |
   +----------------------+---------------------+----------------------+
   | DLC_DL_HALTED        | Send DL_RESTARTED   | CIRCUIT_ESTABLISHED  |
   +----------------------+---------------------+----------------------+
   | DLC_ERROR            | Send HALT_DL        | DISCONNECT_PENDING   |
   +----------------------+---------------------+----------------------+
   | DLC_DGRM             | Send DGRMFRAME      |                      |
   +----------------------+---------------------+----------------------+
   | XPORT_FAILURE        | DLC_HALT_DL         | HALT_PENDING_NOACK   |
   +----------------------+---------------------+----------------------+

   The RESTART_PENDING state is entered upon the receipt of a RESTART_DL
   message from the remote DLSw while the local Data Link Switch is in

AIW DLSw Related Interest Group                              [Page 40]


RFC XXXX      DLSw: Switch-to-Switch Protocol              August 1994

   either the CONTACT_PENDING state or the CONNECTED state.  These cause
   the local DLC to issue a DISC command.  Upon the receipt of the UA
   response (DLC_DL_HALTED), the data link is restarted, a DL_RESTARTED
   message is returned to the remote DLSw, and the CIRCUIT_ESTABLISHED
   state is entered.

     Note:  Some implementations will send a Test command in order to
     restart the data link to the target station (i.e., a DLC_START_DL will
     be issued) prior to sending the DL_RESTARTED message.

5.2.12. HALT_PENDING State

   +----------------------+---------------------+----------------------+
   |        Event         |      Action(s)      |      Next State      |
   +----------------------+---------------------+----------------------+
   | Receive HALT_DL_NOACK|                     | HALT_PENDING_NOACK   |
   +----------------------+---------------------+----------------------+
   | Receive DATAFRAME    | DLC_DGRM            |                      |
   +----------------------+---------------------+----------------------+
   | DLC_DL_HALTED        | Send DL_HALTED      | DISCONNECTED         |
   +----------------------+---------------------+----------------------+
   | DLC_ERROR            | Send DL_HALTED      | DISCONNECTED         |
   +----------------------+---------------------+----------------------+
   | DLC_DGRM             | Send DATAFRAME      |                      |
   +----------------------+---------------------+----------------------+
   | XPORT_FAILURE        |                     | HALT_PENDING_NOACK   |
   +----------------------+---------------------+----------------------+

   The HALT_PENDING state is entered upon the receipt of a HALT_DL message.
   This causes the local DLC to issue a DISC command.  Upon the receipt of
   the UA response (DLC_DL_HALTED), a DL_HALTED message is returned to the
   remote DLSw and the DISCONNECTED state is entered.

5.2.13. HALT_PENDING_NOACK State

   +----------------------+---------------------+----------------------+
   |        Event         |      Action(s)      |      Next State      |
   +----------------------+---------------------+----------------------+
   | Receive DATAFRAME    | DLC_DGRM            |                      |
   +----------------------+---------------------+----------------------+
   | DLC_DL_HALTED        |                     | DISCONNECTED         |
   +----------------------+---------------------+----------------------+
   | DLC_ERROR            |                     | DISCONNECTED         |
   +----------------------+---------------------+----------------------+
   | DLC_DGRM             | Send DATAFRAME      |                      |
   +----------------------+---------------------+----------------------+

   The HALT_PENDING state is entered upon the receipt of a HALT_DL message.
   This causes the local DLC to issue a DISC command.  Upon the receipt of
   the UA response (DLC_DL_HALTED), the DISCONNECTED state is entered.

AIW DLSw Related Interest Group                              [Page 41]


RFC XXXX      DLSw: Switch-to-Switch Protocol              August 1994

5.3. NetBIOS Datagrams

   The NetBIOS protocols use a number of UI frames for directory services
   and the transmission of datagrams.  Most of these frames are directed to
   a group MAC address (GA) with the routing information field indicating
   spanning tree explorer (STE) (a.k.a. Single Route Broadcast).  The
   NB_Add_Name_Response and NB_Name_Recognized frames are directed to a
   specific MAC address with the routing information field indicating an
   all routes explorer frame (ARE) (a.k.a. All Routes Broadcast)  The
   NB_Status_Response frame, is directed to a specific MAC address with the
   routing information field indicating a specifically routed frame (SRF).
   The handling of these frames is summarized in the following table.

   +---------------------------+------------------+--------------------+
   |          Event            |     Action(s)    |      Comment       |
   +---------------------------+------------------+--------------------+
   | DLC_DGRM for NETBIOS      | Send NETBIOS_ANQ | Transmitted to all |
   |  group address:           |                  |   remote DLSw      |
   |   NB_Add_Name_Query       |                  |                    |
   +---------------------------+------------------+--------------------+
   | DLC_DGRM for a specific   | Send NETBIOS_ANR | Transmitted to     |
   |  address:                 |                  |   specific DLSw    |
   |   NB_Add_Name_Response    |                  |                    |
   +---------------------------+------------------+--------------------+
   | DLC_DGRM for a specific   | Send DATAFRAME   | Transmitted to all |
   |  address:                 |                  |   remote DLSw      |
   |   NB_Status_Response      |                  |                    |
   +---------------------------+------------------+--------------------+
   | DLC_DGRM for NETBIOS      | Send DATAFRAME   | Transmitted to all |
   |  group address:           |                  |   remote DLSw      |
   |   NB_Name_in_Conflict     |                  |                    |
   |   NB_Add_Group_Name_Query |                  |                    |
   |   NB_Datagram,            |                  |                    |
   |   NB_Datagram_Broadcast   |                  |                    |
   |   NB_Status_Query         |                  |                    |
   |   NB_Terminate_Trace      |                  |                    |
   +---------------------------+------------------+--------------------+

                      Table 5.  NetBIOS DLC Frames

   The above actions do not apply in the following states:
   CIRCUIT_ESTABLISHED, CONTACT_PENDING, CONNECT_PENDING, CONNECTED, and
   CIRCUIT_PENDING.  The handling of the remaining two UI frames used by
   NetBIOS systems, NB_Name_Query and NB_Name_Recognized, are documented as
   part of the DLSw state machine in the previous section (i.e.,
   DISCONNECTED and RESOLVE_PENDING states).  Furthermore, the handling of
   NetBIOS datagrams (i.e., NB_Datagram) sent to a specific MAC address is
   also governed by the DLSw state machine.

     Note:  Some implementations also issue Test frames during the exchange
     of the NetBIOS, NB_Name_Query and NB_Name_Recognized.  This exchange
     of protocol data units occurs during the start of a data link and is
     used to determine the routing information.  Most other implementations
     of NetBIOS will use the NB_Name_Query/NB_Name_Recognized exchange to

AIW DLSw Related Interest Group                              [Page 42]

RFC XXXX      DLSw: Switch-to-Switch Protocol              August 1994

     determine routes in conjunction with resolving the NetBIOS names.
     These differences are not reflected in the SSP protocols.

   The handling of the NetBIOS specific SSP messages is given in the
   following table.

   +---------------+-------------------------+-------------------------+
   |     Event     |        Action(s)        |         Comment         |
   +---------------+-------------------------+-------------------------+
   | NETBIOS_ANQ   | DLC_DGRM:               | Routed STE              |
   |               |    NB_Add_Name_Query    | (NETBIOS Group Address) |
   +---------------+-------------------------+-------------------------+
   | NETBIOS_ANR   | DLC_DGRM:               | Routed ARE              |
   |               |    NB_Add_Name_Response | (Specific MAC Address)  |
   +---------------+-------------------------+-------------------------+
   | NETBIOS_NQ_ex | DLC_DGRM:               | Routed STE              |
   |               |    NB_Name_Query        | (NETBIOS Group Address) |
   +---------------+-------------------------+-------------------------+
   | NETBIOS_NQ_cs | DLC_DGRM:               | Routed STE              |
   |               |    NB_Name_Query        | (NETBIOS Group Address) |
   +---------------+-------------------------+-------------------------+
   | NETBIOS_NR_ex | DLC_DGRM:               | Routed ARE              |
   |               |    NB_Name_Recognized   | (Specific MAC Address)  |
   +---------------+-------------------------+-------------------------+
   | NETBIOS_NR_cs | DLC_DGRM:               | Routed ARE              |
   |               |    NB_Name_Recognized   | (Specific MAC Address)  |
   +---------------+-------------------------+-------------------------+
   | DATAFRAME     | DLC_DGRM                | If NB_Status_Response:  |
   |               |                         |  Routed ARE             |
   |               |                         |  (Specific MAC Address) |
   |               |                         | Else:                   |
   |               |                         |  Routed STE             |
   |               |                         |  (NETBIOS Group Address)|
   +---------------+-------------------------+-------------------------+

                      Table 6.  NetBIOS SSP Messages

   The above actions apply to all DLSw states.  The handling of NetBIOS
   datagrams sent within DGRMFRAME messages is governed by the DLSw state
   machine.  The DGRMFRAME message type is employed instead of the
   DATAFRAME message type once the end-to-end circuit has been established.
   At that time, the message is addressed according to the pair of Circuit
   IDs in the message header instead of relying upon the MAC address
   information in the token ring header.

5.4. Explorer Traffic

   The CANUREACH_ex, ICANREACH_ex, NETBIOS_NQ_ex, and NETBIOS_NR_ex SSP
   messages explore the topology of the DLSw cloud and the networks
   attached to it.  These explorer frames are used to determine the DLSw
   partners through which a MAC or NetBIOS name can be accessed.  This
   information may optionally be cached to reduce explorer traffic in the
   DLSw cloud.

AIW DLSw Related Interest Group                              [Page 43]

RFC XXXX      DLSw: Switch-to-Switch Protocol              August 1994

   If a DLSw is aware from cached information that a given MAC address or
   NetBIOS name is accessible through a given partner DLSw, it should
   direct all circuit setup attempts to that partner.  If the circuit setup
   fails, or no such data is available in the MAC or name cache database,
   the DLSw may fallback to issuing the setup attempt to all DLSw partners
   on the assumption that the cached data is now out of date.  The
   mechanism for determining when to use such a fallback is implementation
   defined.

   DLSw implementations may also use a local MAC cache to enable responses
   to CANUREACH_ex requests to be issued without the need for TEST frame
   exchange (or equivalent) until the CANUREACH_cs is received.  Again, the
   fallback mechanism for determining when such local cache data is out-of-
   date is implementation defined.

   The use of either cache is an optional function in DLSw.  An
   implementation may choose to always issue explorer frames or to use
   either or both types of cache.

   The following sections describe the FSMs used for explorer frames.  The
   DLC events and actions are a subset of those described in section 5.2
   for the main circuit FSM.

5.4.1. CANUREACH/ICANREACH Explorer FSM

   The FSM described below is used to handle explorer frames routed by MAC
   address.
   There is one instance of this FSM for each Data Link ID (target and
   Origin
   MAC/SAP pair) for which explorer traffic is flowing.  The states in this
   FSM are
   as follows.

   State Name            Description
   ----------            -----------
   RESET                 The initial state.

   SENT_EX               Local DLSw has issued an explorer message

   RECEIVED_EX           Local DLSw has received an explorer message

AIW DLSw Related Interest Group                              [Page 44]

RFC XXXX      DLSw: Switch-to-Switch Protocol              August 1994

5.4.1.1. RESET State

   +----------------------+---------------------+----------------------+
   |        Event         |      Action(s)      |      Next State      |
   +----------------------+---------------------+----------------------+
   | Receive CANUREACH_ex | If replying from    | If DLC_RESOLVE sent, |
   |                      | cache, send         |   RECEIVED_EX        |
   |                      | ICANREACH_ex        |                      |
   |                      | else if allowed to  |                      |
   |                      | test availability,  |                      |
   |                      | issue DLC_RESOLVE.  |                      |
   |                      | Optionally update   |                      |
   |                      | cache.              |                      |
   +----------------------+---------------------+----------------------+
   | Receive ICANREACH_ex | Optionally update   | RESET                |
   |                      | cache               |                      |
   +----------------------+---------------------+----------------------+
   | DLC_RESOLVE_C        | Send CANUREACH_ex   | SENT_EX              |
   +----------------------+---------------------+----------------------+

   EDITOR'S NOTE: WE NEED TEXT HERE!

5.4.1.2. SENT_EX State

   +----------------------+---------------------+----------------------+
   |        Event         |      Action(s)      |      Next State      |
   +----------------------+---------------------+----------------------+
   | Receive ICANREACH_ex | DLC_RESOLVE_R       | RESET                |
   |                      | Optionally update   |                      |
   |                      | cache               |                      |
   +----------------------+---------------------+----------------------+
   | DLC_RESOLVE_C        |                     | SENT_EX              |
   +----------------------+---------------------+----------------------+

   An implementation may choose whether to handle explorer frame crossover
   ither by using entirely separate FSM instances and simply allowing both
   ends to issue TEST frames, or by detecting a reverse CANUREACH_ex frame
   here and issuing an ICANREACH_ex message and DLC_RESOLVE_R action.

5.4.1.3. RECEIVED_EX State

   +----------------------+---------------------+----------------------+
   |        Event         |      Action(s)      |      Next State      |
   +----------------------+---------------------+----------------------+
   | Receive CANUREACH_ex | Optionally update   | RECEIVED_EX          |
   |                      | cache               |                      |
   +----------------------+---------------------+----------------------+
   | Receive ICANREACH_ex |                     | RECEIVED_EX          |
   +----------------------+---------------------+----------------------+
   | DLC_RESOLVED         | Send ICANREACH_ex   | RESET                |
   |                      | Optionally update   |                      |
   |                      | cache               |                      |
   +----------------------+---------------------+----------------------+

AIW DLSw Related Interest Group                              [Page 45]

RFC XXXX      DLSw: Switch-to-Switch Protocol              August 1994

   An implementation may choose whether to handle explorer frame corssover
   either by using entirely separate FSM instances and simply allowing both
   ends to issue TEST frames, or by detecting such a reverse DLC_RESOLVE_C
   event here and issuing an ICANREACH_ex message and DLC_RESOLVE_R action.

5.4.2. NETBIOS_NQ/NR Explorer FSM

   The FSM described below is used to handle explorer frames routed by
   NetBIOS nameS  There is one instance of this FSM for each unique
   combination of Source Name, Destination Name, Data 2 field and Response
   Correlator.

   State Name            Description
   ----------            -----------
   RESET                 The initial state.

   SENT_EX               Local DLSw has issued an explorer message

   RECEIVED_EX           Local DLSw has received an explorer message

   SENT_REC_EX           An explorer frame has been both sent and received
                         for the same (potential) NetBIOS circuit.

5.4.2.1. RESET State

   +----------------------+---------------------+----------------------+
   |        Event         |      Action(s)      |      Next State      |
   +----------------------+---------------------+----------------------+
   | Receive NETBIOS_NQ_ex| DLC_DGRM(NAME_QUERY)| RECEIVED_EX          |
   |                      | Optionally update   |                      |
   |                      | cache.              |                      |
   +----------------------+---------------------+----------------------+
   | Receive NETBIOS_NR_ex| Optionally update   | RESET                |
   |                      | cache               |                      |
   +----------------------+---------------------+----------------------+
   | DLC_DGRM (NAME_QUERY)| Send NETBIOS_NQ_ex  | SENT_EX              |
   +----------------------+---------------------+----------------------+

   EDITOR'S NOTE: WE NEED TEXT HERE!

AIW DLSw Related Interest Group                              [Page 46]

RFC XXXX      DLSw: Switch-to-Switch Protocol              August 1994

5.4.2.2. SENT_EX State

   +----------------------+---------------------+----------------------+
   |        Event         |      Action(s)      |      Next State      |
   +----------------------+---------------------+----------------------+
   | Receive NETBIOS_NQ_ex| DLC_DGRM(NAME_QUERY)| SENT_REC_EX          |
   |                      | Optionally update   |                      |
   |                      | cache               |                      |
   +----------------------+---------------------+----------------------+
   | Receive NETBIOS_NR_ex| DLC_DGRM(NAME_RECOG)| RESET                |
   |                      | Optionally update   |                      |
   |                      | cache               |                      |
   +----------------------+---------------------+----------------------+
   | DLC_DGRM (NAME_QUERY)| Send NETBIOS_NQ_ex  | SENT_EX              |
   | (different local     | Optionally update   |                      |
   |  session number than | cache               |                      |
   |  existing searches)  |                     |                      |
   +----------------------+---------------------+----------------------+

   EDITOR'S NOTE: WE NEED TEXT HERE!

5.4.2.3. RECEIVED_EX State

   +----------------------+---------------------+----------------------+
   |        Event         |      Action(s)      |      Next State      |
   +----------------------+---------------------+----------------------+
   | Receive NETBIOS_NQ_ex| DLC_DGRM(NAME_QUERY)| RECEIVED_EX          |
   |                      | Optionally update   |                      |
   |                      | cache               |                      |
   +----------------------+---------------------+----------------------+
   | Receive NETBIOS_NR_ex|                     | RECEIVED_EX          |
   +----------------------+---------------------+----------------------+
   | DLC_DGRM (NAME_QUERY)| Send NETBIOS_NQ_ex  | SENT_REC_EX          |
   |                      | Optionally update   |                      |
   |                      | cache               |                      |
   +----------------------+---------------------+----------------------+
   | DLC_DGRM (NAME_RECOG)| Send NETBIOS_NR_ex  | RESET                |
   |                      | Optionally update   |                      |
   |                      | cache               |                      |
   +----------------------+---------------------+----------------------+

   EDITOR'S NOTE: WE NEED TEXT HERE

AIW DLSw Related Interest Group                              [Page 47]

RFC XXXX      DLSw: Switch-to-Switch Protocol              August 1994

5.4.2.4. SENT_REC_EX State

   +----------------------+---------------------+----------------------+
   |        Event         |      Action(s)      |      Next State      |
   +----------------------+---------------------+----------------------+
   | Receive NETBIOS_NQ_ex| DLC_DGRM(NAME_QUERY)| SENT_REC_EX          |
   |                      | Optionally update   |                      |
   |                      | cache               |                      |
   +----------------------+---------------------+----------------------+
   | Receive NETBIOS_NR_ex| DLC_DGRM(NAME_RECOG)| RECEIVED_EX          |
   |                      | Optionally update   |                      |
   |                      | cache               |                      |
   +----------------------+---------------------+----------------------+
   | DLC_DGRM (NAME_QUERY)| Send NETBIOS_NQ_ex  | SENT_REC_EX          |
   | (different local     | Optionally update   |                      |
   |  session number than | cache               |                      |
   |  existing searches)  |                     |                      |
   +----------------------+---------------------+----------------------+
   | DLC_DGRM (NAME_RECOG)| Send NETBIOS_NR_ex  | SENT_EX              |
   |                      | Optionally update   |                      |
   |                      | cache               |                      |
   +----------------------+---------------------+----------------------+

   This state is required if an implementation wishes to manage NQ/NR
   crossover cases from a single FSM instance by detecting 'opposite'
   NAME_QUERY attempts between the same two NetBIOS names.  If separate FSM
   instances are used instead, this state is not required and the
   transitions to it from other states can be removed.

5.4.2.5. NetBIOS Session Numbers

   NetBIOS NAME_QUERY and NAME_RECOGNIZED frames exchange NetBIOS session
   numbers between the end stations.  For correct NetBIOS operation over
   DLSw, it is important that all SSP NETBIOS_NQ_ex frames received by a
   DLSw cause NetBIOS NAME_QUERY frames to flow on the LAN with the new
   session number from the NETBIOS_NQ_ex.  These frames cannot be replied
   to from a cache of locally available NetBIOS names in the same way that
   MAC addresses and CANUREACH_ex messages can be handled.

   Also, NAME_QUERY messages are normally retried several times on the LAN.
   The generation and absorption of such frames is outside the scope of the
   FSM defined above.

AIW DLSw Related Interest Group                              [Page 48]